//域名 端口号
//export const ip = '47.106.223.49'
//export const ip = '192.168.88.1'
export const ip = '47.107.35.139'
//export const ip = uni.$basePort

//export const baseUrl = "http://wzxlovemzy.com:6001/user"
export const baseUrl = "http://" + ip + ":6001/user"
export const baseUrlShop = "http://" + ip + ":6001/user"

import chatStore from '../../store/chat.js'

/**
 * 获取token
 */
function getToken() {
	try {
		const token = uni.getStorageSync('token');
		if (token) {
			return token
		} else {
			return ''
		}
	} catch (e) {
		console.log(e)
	}
}

import store from '@/store/index.js'


/**
 * 网络请求封装
 */
export function request(options) {

	let token = getToken()
	// if (token == '') {
	// 	uni.navigateTo({
	// 		url: '/pages/login/login/login'
	// 	})
	// }

	return new Promise((resolved, rejected) => {
		//console.log('进入')
		uni.showLoading({
			title: '加载中...'
		});
		uni.request({
			url: options.url,
			data: options.data || {}, // data从options中获取，如果没有传入data， 则默认一个空对象
			method: options.method || 'GET', // 方法从options中获取，如果没有传入method，则默认为GET，
			header: {
				token: token, //您可根据如本地存储或者vuex再此处使用逻辑或 来插入token

				// 'content-type': 'application/json;charset=utf-8',
				//'Authorization': token, //有的时候这里不一定是 token 还可能是 Authorization
			},
			success: (res) => { // 用箭头函数，res是返回来的数据
				/* if (res.data.status == 503) {
					uni.showToast({
						icon: 'none',
						duration: 3000,
						title: `登录过期，请重新登录`
					});
					uni.clearStorageSync()
					uni.reLaunch({
						url: "/pages/login/login/login",
						success: () => {
							//plus.navigator.closeSplashscreen();
						}
					})
					return
				} */
				if (res.statusCode == 401 || res.statusCode == 403) {
					//清空vuex
					store.commit('m_chat/emptyAll')

					if (uni.myWebsocket !== undefined && uni.myWebsocket !== '' && uni
						.myWebsocket !== null) {
						//说明已经有 websocket连接（需要关闭）
						uni.myWebsocket.socketTask.close('1')
						uni.myWebsocket = ''
					}

					uni.showToast({
						icon: 'none',
						duration: 3000,
						title: `登录已过期`
					});

					setTimeout(() => {
						uni.reLaunch({
							url: "/pages/login/login/login",
							success: () => {
								//plus.navigator.closeSplashscreen();
							}
						})
					}, 1000)
					return

				}

				//console.log(res.statusCode)
				if (res.data.status && res.data.status !== 200) {
					uni.showToast({
						icon: 'none',
						duration: 3000,
						title: `网络异常`
					});
				}

				resolved(res.data) //如果请求成功，调用resolve返回数据
				uni.hideLoading()
			},
			fail: (err) => { // err 是返回来的错误信息
				uni.showToast({
					icon: 'none',
					duration: 3000,
					title: `请求失败`

				});
				rejected(err) // 调用reject方法把错误消息返回出去
				uni.hideLoading()
			}

		})
	})


}